package top.melody.ecommerce.platform.api.domain.system;

import java.io.Serializable;

import top.melody.ecommerce.common.util.reflect.ReflectUtil;
import top.melody.ecommerce.platform.handler.enums.ActStatus;
import top.melody.ecommerce.platform.handler.enums.SecurityRole;
import top.melody.ecommerce.platform.handler.enums.ValidStatus;

import java.util.Date;


/**
 * @author: melody
 * @groupId:rd
 * @createdate:2016-10-18
 * @mail: blentle.huan.ren@gmail.com
 * @description:
 * @since: 1.0
 */
public class SecurityUser implements Serializable {

    /* 登录名 */
    private String operateUserId;
    /* 登录密码 */
    private String opPassword;
    /* 昵称 */
    private String screenName;
    /* 角色：超级管理员:super,管理员：ADMIN,普通运营：OPERATOR */
    private SecurityRole opRole;
    /* 有效：VALID;无效:INVALID */
    private ValidStatus validStatus;
    /* 已删除：Y;未删除：N */
    private ActStatus removeStatus;
    /* 创建时间 */
    private Date createDate;
    /* 最近更新时间 */
    private Date updateDate;

    public SecurityUser() {

    }

    public SecurityUser(String operateUserId, String opPassword, String screenName, SecurityRole opRole, ValidStatus validStatus, ActStatus removeStatus, Date createDate, Date updateDate) {
        this.operateUserId = operateUserId;
        this.opPassword = opPassword;
        this.screenName = screenName;
        this.opRole = opRole;
        this.validStatus = validStatus;
        this.removeStatus = removeStatus;
        this.createDate = createDate;
        this.updateDate = updateDate;
    }

    public String getOperateUserId() {
        return operateUserId;
    }

    public void setOperateUserId(String operateUserId) {
        this.operateUserId = operateUserId;
    }

    public String getOpPassword() {
        return opPassword;
    }

    public void setOpPassword(String opPassword) {
        this.opPassword = opPassword;
    }

    public String getScreenName() {
        return screenName;
    }

    public void setScreenName(String screenName) {
        this.screenName = screenName;
    }

    public SecurityRole getOpRole() {
        return opRole;
    }

    public void setOpRole(SecurityRole opRole) {
        this.opRole = opRole;
    }

    public ValidStatus getValidStatus() {
        return validStatus;
    }

    public void setValidStatus(ValidStatus validStatus) {
        this.validStatus = validStatus;
    }

    public ActStatus getRemoveStatus() {
        return removeStatus;
    }

    public void setRemoveStatus(ActStatus removeStatus) {
        this.removeStatus = removeStatus;
    }

    public Date getCreateDate() {
        return createDate;
    }

    public void setCreateDate(Date createDate) {
        this.createDate = createDate;
    }

    public Date getUpdateDate() {
        return updateDate;
    }

    public void setUpdateDate(Date updateDate) {
        this.updateDate = updateDate;
    }

    @Override
    public String toString() {
        return ReflectUtil.fieldsToString(this);
    }
}
